package com.xdtech.hotel.service;

import java.util.List;

import com.xdtech.common.service.IBaseService;
import com.xdtech.hotel.model.DeviceLink;
import com.xdtech.hotel.vo.DeviceLinkItem;

/**
 * 
 * @author max.zheng
 * @create 2015-04-04 11:12:27
 * @since 1.0
 * @see
 */
public interface DeviceLinkService extends IBaseService<DeviceLink>{

	/**
	 * 保存更新信息
	 * @author max.zheng
	 * @create 2015-04-04 11:12:27
	 * @modified by
	 * @param item
	 * @return
	 */
	boolean saveOrUpdateDeviceLink(DeviceLinkItem item);

	/**
	 * 加载记录信息
	 * @author max.zheng
	 * @create 2015-04-04 11:12:27
	 * @modified by
	 * @param newId
	 * @return
	 */
	DeviceLinkItem loadDeviceLinkItem(Long deviceLinkId);

	/**
	 * 根据id号删除记录信息
	 * @author max.zheng
	 * @create 2015-04-04 11:12:27
	 * @modified by
	 * @param id
	 * @return
	 */
	boolean deleteDeviceLinkInfo(long id);

	/**
	 * 
	 * @author max.zheng
	 * @create 2015-04-04 11:12:27
	 * @modified by
	 * @param deviceLinkIds
	 */
	boolean deleteDeviceLinkInfo(List<Long> deviceLinkIds);

	/**
	 * 保存关联元件配置信息
	 * @author max.zheng
	 * @create 2015-4-5下午1:35:26
	 * @modified by
	 * @param deviceLink
	 */
	void saveDeviceLinkOptions(DeviceLink deviceLink);

	/**
	 * 根据元件定义类型查询元件
	 * @author max.zheng
	 * @create 2015-4-9下午11:24:03
	 * @modified by
	 * @param type
	 * @return
	 */
	DeviceLinkItem loadDeviceLinkItemByType(String type);

	/**
	 * 更新
	 * @author max.zheng
	 * @create 2015-6-22下午2:48:54
	 * @modified by
	 * @param deviceLinks
	 */
	void updateDeviceLinks(List<DeviceLinkItem> deviceLinks);

	/**
	 * 
	 * @author max.zheng
	 * @create 2015-6-22下午4:15:44
	 * @modified by
	 * @param long1
	 * @return
	 */
	DeviceLinkItem getDeviceLinkItem(Long id);

	/**
	 * 
	 * @author max.zheng
	 * @create 2015-6-22下午5:06:47
	 * @modified by
	 * @param ids
	 * @return
	 */
	List<DeviceLinkItem> getDeviceLinkItems(List<Long> ids);
}
